package com.dearbinge.data.dao.commodity;


import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.commodity.CommodityCommentDO;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * 商品评论dao
 *
 * @author wes
 * @date 2019/3/20
 */
@Mapper
public interface CommodityCommentMapper {

    /**
     * 根据id删除
     * @param commodityCommentId id
     * @return 影响行数
     */
    int deleteById(Integer commodityCommentId);

    /**
     * 插入
     * @param commodityCommentDO 商品评论DO
     * @return 影响行数
     */
    int insert(CommodityCommentDO commodityCommentDO);

    /**
     * 通过id查询DO
     * @param commodityCommentId id
     * @return 商品评论DO
     */
    CommodityCommentDO getById(Integer commodityCommentId);

    /**
     * 更新
     * @param commodityCommentDO  商品评论DO
     * @return 影响行数
     */
    int update(CommodityCommentDO commodityCommentDO);


    /**
     * 根据买家id或商品id查评价
     *
     * @param commodityId 商品id
     * @param customerId 买家id
     * @param commentType 0：全部(默认)；1：好评；2：中评；3：差评；4：图片；5：追加评价
     * @param page     分页
     * @return 商品评价
     */
    List<CommodityCommentDO> listByCustomerIdOrCommodityId(@Param("commodityId") Integer commodityId,@Param("customerId")
            Integer customerId, @Param("commentType")Integer commentType, Page page);


    /**
     * 统计总数 根据商品id查商品评价
     * @param commodityId 商品id
     * @param customerId 买家id
     * @param commentType 0：全部(默认)；1：好评；2：中评；3：差评；4：图片；5：追加评价
     * @return 总数
     */
    Integer countByCustomerIdOrCommodityId(@Param("commodityId") Integer commodityId, @Param("customerId")
            Integer customerId, @Param("commentType")Integer commentType);


}